This invention relates generally to electronic musical instruments, such as organs. It specifically concerns methods and circuits employed in such instruments for the purpose of automatically generating a rhythm accompaniment.
This invention is an improvement in a prior art automatic rhythm generation technique which employs a read-only memory (ROM) to store a rhythm pattern consisting of a set of individual rhythm beat instructions to be executed in a predetermined sequence. These instructions are stored at memory addresses in numerical order according to the desired sequence of instruction execution. An address counter is stepped consecutively through a series of numerical states, to select a series of numerically consecutive memory addresses, thus reading the instructions out of the memory in the proper order for execution. The tempo of the rhythm is determined by a rhythm clock which steps the address counter through its sequence of states at a selected regular pace.
A problem arises with the above-described technique, however, whenever a particular rhythm pattern has irregular spacing between the audible beats. Under those circumstances some pairs of consecutive beats will be heard in consecutive clock intervals, while other pairs of consecutive beats will be separated by one or more silent clock intervals, during which the rhythm pattern calls for no audible beat to occur. With the above-described technique, this situation can only be handled by storing zeros (null instructions) at those memory addresses which correspond, in the timing sequence, to beatless clock intervals. Then the rhythm clock will cause the counter to address one or more empty memory locations before eventually reaching the address at which the next sequential audible beat instruction is stored.
This system works well, but is wasteful of memory space. Such waste is expensive if it necessitates the use of a larger capacity ROM chip. Alternatively, if the capacity of the ROM chip is held down to avoid expense, then the number of rhythm patterns which can be contained in a device of given capacity is smaller, because of the need to "store " null instructions.